#ifndef SETWIDGET_H
#define SETWIDGET_H

#include <QWidget>
#include<QLabel>
#include<QLineEdit>
#include<QPushButton>
#include<QComboBox>
#include<QHBoxLayout>
#include<QVBoxLayout>
#include<QDebug>
#include<QFileDialog>
#include<QCameraInfo>
#include"contrl/mycontrol.h"
#include<windows.h>
#include<QTimer>
#include<QCoreApplication>
#include<QMessageBox>
//磁盘结构体
struct DiskCapacityInfo {
    qint64 totalCapacity;  // 磁盘总容量（字节）
    qint64 freeSpace;      // 磁盘剩余容量（字节）
};

class SetWidget : public QWidget
{
    Q_OBJECT
public:
    explicit SetWidget(QWidget *parent = nullptr);

    void initUI();

    DiskCapacityInfo getDiskCapacity(const QString& drive);

    QLineEdit *getDeviceNum_edit() const;
    void setDeviceNum_edit(QLineEdit *value);

    QString getDevicenum() const;
    void setDevicenum(const QString &value);

private:
    //控件
    QLabel *title;
    QLabel* deviceNum;
    QLabel* memorySpace;
    QLabel* memoryRemain;
    QLabel* videoStorage;
    QLabel* imageStorage;

    QLabel*detection;

    QComboBox*deviceNum_edit;
    QLineEdit*memorySpace_edit;
    QLineEdit*memoryRemain_edit;
    QLineEdit*videoStorage_edit;
    QLineEdit*imageStorage_edit;

    QPushButton*videoStorage_button;
    QPushButton*imageStorage_button;


    //按钮
    QPushButton*ensure;
    QPushButton*cancel;

    //布局
    QHBoxLayout*layout_H1;
    QHBoxLayout*layout_H2;
    QHBoxLayout*layout_H3;
    QHBoxLayout*layout_H4;
    QHBoxLayout*layout_H5;
    QHBoxLayout*layout_H6;
    QHBoxLayout*titlelayout;
    QHBoxLayout*layout_H7;


    QVBoxLayout*layout_V1;


    //数据库
    BaseModel*model;
    MyControl*con;


    //计时器
    QTimer *timer2;

    QString devicenum;
    QString videoPath;
    QString imagePath;
signals:

    void ensureFinished();

public slots:

    void fileopen_video();
    void fileopen_image();

    void ensureButton();
    void cancelButton();

    void TimeOver();
};

#endif // SETWIDGET_H
